home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-13 / xvidoc.zip / XVI.LST < prev   
File List  |  1992-07-28  |  17KB  |  529 lines

  1.  
  2.  
  3.  
  4. XVI(1)                   USER COMMANDS                     XVI(1)
  5.  
  6.  
  7.  
  8. NAME
  9.      xvi - multi-file text editor
  10.  
  11. SYNOPSIS
  12.      xvi { -s  _p_a_r_a_m_e_t_e_r-_a_s_s_i_g_n_m_e_n_t  }  [  -t  _t_a_g  |  +_n_u_m_b_e_r  |
  13.      +/_p_a_t_t_e_r_n ] { _f_i_l_e_n_a_m_e ...  }
  14.  
  15. DESCRIPTION
  16.      Xvi (pronounced _e_c_k_s-_v_e_e-_e_y_e) is a  free,  portable,  multi-
  17.      window  implementation  of the popular vi(1) editor.  It has
  18.      some useful enhancements, although, as described below,  not
  19.      all  of  vi's  features  have been implemented yet, and some
  20.      things work differently from vi.
  21.  
  22. OPTIONS
  23.      The following command-line options are available:
  24.  
  25.      -s _p_a_r_a_m_e_t_e_r-_a_s_s_i_g_n_m_e_n_t
  26.       Set the value of the specified  parameter  at  startup.
  27.       The  assignment  has  the same form as when given as an
  28.       editor command, i.e:
  29.  
  30.       _n_a_m_e=_s_t_r_i_n_g
  31.            for string parameters
  32.  
  33.       _n_a_m_e=_n_u_m_b_e_r
  34.            for numeric parameters
  35.  
  36.       _n_a_m_e to turn a Boolean parameter on
  37.  
  38.       no_n_a_m_e
  39.            to turn a Boolean parameter off
  40.  
  41.      -t _t_a_g
  42.       Edit the file containing the  definition  specified  as
  43.       _t_a_g, at the start of the definition (as per vi).
  44.  
  45.      +_n_u_m_b_e_r
  46.       Go to the specified  line  number  of  the  file  being
  47.       edited.
  48.  
  49.      +/_p_a_t_t_e_r_n
  50.       Go to the first occurrence  of  the  specified  _p_a_t_t_e_r_n
  51.       within the file being edited.
  52.  
  53.      The -r command line option is not supported.
  54.  
  55. ENHANCEMENTS
  56.   Multiple buffers and windows
  57.      A _b_u_f_f_e_r is the  internal  object  which  holds  a  file  in
  58.      memory,  while a _w_i_n_d_o_w is an area of the screen which shows
  59.      part of a buffer.  Every window references a buffer, even if
  60.  
  61.  
  62.  
  63. Unix                 Last change: 19/6/1992                     1
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. XVI(1)                   USER COMMANDS                     XVI(1)
  71.  
  72.  
  73.  
  74.      no  file  is  being  edited.   The  following  commands  are
  75.      available for operating on buffers and windows:
  76.  
  77.      :buffer
  78.       create a new buffer in a new window; can be followed by
  79.       a filename, which will be edited in the new buffer.
  80.  
  81.      :split
  82.       create a  new  window  on  to  the  current  buffer  by
  83.       splitting   the   current  window  in  half.   The  two
  84.       resulting windows are similar  to  _v_i_e_w_p_o_r_t_s  on  to  a
  85.       single  editing  buffer,  in  that  changes made in one
  86.       window are reflected in the other one.
  87.  
  88.      :close
  89.       close the current window; will also close the buffer if
  90.       this is the last window on to it.
  91.  
  92.      :x / ZZ
  93.       close only the current window.  If the  window  is  the
  94.       only one on to the buffer, the buffer will be closed as
  95.       well, writing it first if it is modified.
  96.  
  97.      g    move to the next window.
  98.  
  99.      ^W   increase the size of the current window (may be given a
  100.       numeric prefix, default is one line).
  101.  
  102.      ^T   decrease the size of the current window (may be given a
  103.       numeric prefix, default is one line).
  104.  
  105.      ^O   make the current window as large as possible.
  106.  
  107.      ^]   as  for  vi,  but  create  a  new  buffer   window   if
  108.       appropriate (and if autosplit allows).
  109.  
  110.      Note that the :quit command quits out of the editor, not out
  111.      of  a  window.  The :close command is thus the equivalent of
  112.      :quit for windows.  There is no equivalent of :x or  ZZ  for
  113.      the whole editor; these have been hijacked for operations on
  114.      windows.
  115.  
  116.      The numeric autosplit parameter specifies the maximum number
  117.      of   buffer  windows  that  will  be  created  automatically
  118.      whenever you either edit more than one file, or use tags  to
  119.      edit a different file.
  120.  
  121.      Undo works per buffer, as do marks; yank/put and redo (the .
  122.      command) work over all buffers, i.e. you can delete from one
  123.      buffer and put the text into a different buffer.
  124.  
  125.  
  126.  
  127.  
  128.  
  129. Unix                 Last change: 19/6/1992                     2
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. XVI(1)                   USER COMMANDS                     XVI(1)
  137.  
  138.  
  139.  
  140.   File preservation
  141.      Rather than use vi's Unix-specific method for  preservation,
  142.      xvi  does periodic preservation of all files currently being
  143.      edited into temporary files in the same directory.  It tries
  144.      to  do this when you aren't typing, so that you won't notice
  145.      the short delay when the  temporary  file  is  written  out.
  146.      Obviously, only changed files are preserved in this way, and
  147.      the temporary file is removed once the real  file  has  been
  148.      successfully written.
  149.  
  150.   8-bit character support
  151.      Characters with the top bit set are accepted by xvi, but  it
  152.      is  not  yet  possible  to  have null ('\0') bytes in a file
  153.      buffer.  How characters are displayed can be  controlled  by
  154.      the  cchars  and  mchars  parameters,  which,  if set, cause
  155.      control  and  meta-characters  respectively  to  be   output
  156.      unchanged;   otherwise   they  are  shown  as  sequences  of
  157.      printable characters.
  158.  
  159.      Tabs are normally displayed as a series  of  spaces  of  the
  160.      appropriate  length  (according  to the tabstops parameter);
  161.      setting list mode will cause them to be displayed as control
  162.      characters,  as  will unsetting the tabs parameter.  How the
  163.      tab character is displayed is then under the control of  the
  164.      cchars parameter.
  165.  
  166.      You can use the ^_ (control-underscore) command to flip  the
  167.      top  bit  of  the  character  the cursor is on.  This may be
  168.      useful on systems where it is otherwise impossible to  enter
  169.      8-bit characters.
  170.  
  171.   File formats
  172.      Xvi can read and write text files in non-Unix formats.   The
  173.      current   format  is  given  by  the  value  of  the  format
  174.      parameter, which may be set to "unix", "msdos", etc.  To see
  175.      a list of available formats, type
  176.  
  177.       :se fmt=?
  178.  
  179.   Extended regular expressions
  180.      vi's  magic  parameter  is  superseded  by   the   regextype
  181.      parameter, which can take the following values:
  182.  
  183.      tags only ^ and $ are significant (used for tags)
  184.  
  185.      grep like grep(1), but with \< and \> added
  186.  
  187.      egrep
  188.       like egrep(1), but with \< and \> added
  189.  
  190.      The default is grep.
  191.  
  192.  
  193.  
  194.  
  195. Unix                 Last change: 19/6/1992                     3
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. XVI(1)                   USER COMMANDS                     XVI(1)
  203.  
  204.  
  205.  
  206.      Note that it is still possible to set or unset magic  as  in
  207.      vi;  this  will  simply  result  in  regextype  being set as
  208.      appropriate.
  209.  
  210.      The sections and paragraphs  parameters  define  egrep-style
  211.      patterns  to  search  for,  rather than vi's simplistic (and
  212.      troff-dependent) character pairs.
  213.  
  214.   Improved replace mode
  215.      The R command acts more intelligently when you press  return
  216.      -  it  leaves  the  rest of the current line alone, and just
  217.      starts replacing text on the  next  line,  starting  at  the
  218.      screen column where you first typed R.
  219.  
  220.   Command re-execution
  221.      As well as the normal named  (conjugate)  buffers,  and  the
  222.      default  one (named @), there exist several extra ones named
  223.      :, /, ? and !, which contain the last command lines typed to
  224.      each  of  the  given commands.  So for instance, @: will re-
  225.      execute the last ex command, or you can insert it into  your
  226.      buffer, edit it and then re-execute it (e.g. with dd@@).
  227.  
  228.   Jumpscroll
  229.      When multiple windows are used, xvi normally has to be  able
  230.      to  scroll  individual  windows  without scrolling the whole
  231.      screen.  This can be very inefficient on  terminals  without
  232.      scrolling  regions,  so the jumpscroll parameter is provided
  233.      to control the editor's scrolling behaviour.  It can be  set
  234.      to one of:
  235.  
  236.      off  When the cursor moves outside  a  window's  boundaries,
  237.       and  the  new  position is near enough, the window will
  238.       scroll to the new position.
  239.  
  240.      on   When the cursor moves outside  a  window's  boundaries,
  241.       the window will always jump to the new position.
  242.  
  243.      auto A window will scroll only if it can do so  efficiently;
  244.       otherwise it will jump.
  245.  
  246.      The default value is auto.
  247.  
  248.      On  ISA-type  systems  which  have  memory-mapped  displays,
  249.      hardware    character   generators   and   reasonably   fast
  250.      processors, jumpscroll  should  generally  be  set  to  off;
  251.      however,  on LCD screens or other displays with a long image
  252.      persistence, this may actually make the text more  difficult
  253.      to  read,  and  many  users  may be more comfortable with it
  254.      turned on.
  255.  
  256.      Explicit scroll commands (e.g.  ^D and ^E) are not  affected
  257.      by the jumpscroll parameter.
  258.  
  259.  
  260.  
  261. Unix                 Last change: 19/6/1992                     4
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. XVI(1)                   USER COMMANDS                     XVI(1)
  269.  
  270.  
  271.  
  272.   Colour
  273.      There are four new parameters to control screen colours:
  274.  
  275.      colour      colour used for text
  276.  
  277.      statuscolourcolour used for status lines
  278.  
  279.      roscolour   as statuscolour, but for readonly files
  280.  
  281.      systemcolourcolour used for system mode (i.e. subshells  and
  282.      after termination)
  283.  
  284.      These parameters are numeric, and the value means  different
  285.      things  on  different  operating systems.  On Unix, it is an
  286.      index into the termcap(5) entries "c0" to  "c9",  which  are
  287.      assumed  to  be  colour-setting escape sequences if they are
  288.      present.  If they are  not  present,  "so"  (begin  standout
  289.      mode) and "se" (end standout mode) are used instead.  Values
  290.      of 0 and 1 give  normal  text,  whereas  2  and  above  give
  291.      standout mode.
  292.  
  293.      The  default  colour  for  the  roscolour   parameter   will
  294.      generally  involve  red  if  colours  are available; this is
  295.      intended to provide a warning to the user that  writing  the
  296.      file may not be possible.
  297.  
  298.   On-line help
  299.      A primitive help facility is available;  the  :help  command
  300.      simply  creates  a  new  buffer window on to a standard help
  301.      file.  The name of the file which is edited is given by  the
  302.      helpfile  string  parameter; the default on Unix versions is
  303.      "/usr/lib/xvi.help".  Note that the help file buffer will be
  304.      marked  "not  editable"  when  it is created, which prevents
  305.      accidental overwriting of the help file even when  the  file
  306.      permissions would allow it.
  307.  
  308.   Miscellaneous
  309.      The command :wn (write file and edit next) is  provided,  as
  310.      in PC-vi.
  311.  
  312.      The new edit parameter controls  whether  a  buffer  can  be
  313.      modified.   This may be used to implement a nicer version of
  314.      view(1) than the standard vi version, since  it  won't  fool
  315.      you  into  thinking  that  editing  the buffer is in any way
  316.      safe.  Be warned: once having set noedit, it is not possible
  317.      to do a :set edit any more.  It's a one-way street.
  318.  
  319.      In insert and replace modes, ^A has the same meaning  as  ^@
  320.      in  vi,  except  that it works at any time, not just for the
  321.      first character.  Also, typing ^B_x where _x is the name of  a
  322.      conjugate  buffer,  inserts the contents of that buffer into
  323.      the input stream at that point.  The buffer named  <  always
  324.  
  325.  
  326.  
  327. Unix                 Last change: 19/6/1992                     5
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. XVI(1)                   USER COMMANDS                     XVI(1)
  335.  
  336.  
  337.  
  338.      contains the last thing inserted, so that ^B< is the same as
  339.      ^A.
  340.  
  341. LIMITATIONS
  342.   Ex mode
  343.      The main area in which xvi is lacking is vi's ex mode, which
  344.      is  not implemented at all (and neither are edit, e, or open
  345.      modes).  However, many of the ex commands are  available  in
  346.      vi  mode as colon commands; the colon commands that have not
  347.      been implemented are  mostly  those  which  offer  the  same
  348.      functionality as other commands in vi mode.
  349.  
  350.      In particular, abbreviate, append, change, ex, insert, join,
  351.      open, recover, unabbreviate, undo, write>>, z and | have not
  352.      been implemented as colon commands yet.
  353.  
  354.   Vi mode
  355.      In vi mode, the  U  and  =  commands  are  not  implemented,
  356.      although  there  is  no  real  reason why they shouldn't be,
  357.      whilst Q is inappropriate in the context of xvi, since there
  358.      is no ex mode.
  359.  
  360.   Parameters
  361.      Many of vi's  parameters  have  not  been  implemented;  the
  362.      command  :se all gives a complete list, with current values,
  363.      of those that have been.
  364.  
  365.   Miscellaneous
  366.      Repeat counts before insertions don't work.
  367.  
  368.      Appending to named buffers is not yet implemented.
  369.  
  370.      Typing ^Q in input mode does not mean the  same  as  ^V;  it
  371.      just  inserts  a `^Q', assuming it gets as far as the editor
  372.      at all.
  373.  
  374.      Typing ^W in insert mode does not back up one word as in vi.
  375.  
  376.      It is not possible to  interrupt  the  editor  while  it  is
  377.      performing  certain  operations.   If  you  start  off a big
  378.      global command, you have to wait for it to finish.
  379.  
  380.      Flags and counts after ex mode commands are not supported.
  381.  
  382.      It is not possible to read the output of  a  system  command
  383.      using
  384.  
  385.       :r !_c_o_m_m_a_n_d
  386.  
  387.      or to write into a command using
  388.  
  389.       :w !_c_o_m_m_a_n_d.
  390.  
  391.  
  392.  
  393. Unix                 Last change: 19/6/1992                     6
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400. XVI(1)                   USER COMMANDS                     XVI(1)
  401.  
  402.  
  403.  
  404.      Regular expressions, although implemented  (see  above),  do
  405.      not  support the ~ metacharacter; also, the \u and \l escape
  406.      sequences  are  not  supported  in  substitute   replacement
  407.      patterns.   Newlines  included  on  the right hand side of a
  408.      substitution do not currently cause the line  to  be  split;
  409.      the newline character is literally inserted into the line.
  410.  
  411.      The :global command only supports the commands [lps&~d].
  412.  
  413. OTHER DIFFERENCES FROM VI
  414.      The XVINIT environment variable is read instead  of  EXINIT.
  415.      Whilst no files are sourced automatically, users who wish to
  416.      have a startup file can arrange it very  easily.   sh(1)  or
  417.      ksh(1) users should add this line to their $HOME/.profile:
  418.  
  419.       XVINIT='source _x_v_i-_s_t_a_r_t_u_p-_f_i_l_e'; export XVINIT
  420.  
  421.      csh(1) users should add this to their $HOME/.login:
  422.  
  423.       setenv XVINIT 'source _x_v_i-_s_t_a_r_t_u_p-_f_i_l_e'
  424.  
  425.      The tags parameter can be  used  to  specify  multiple  tags
  426.      files;  these  can  be separated by either ``\ '' (backslash
  427.      space) or ``,'' (comma).
  428.  
  429.      Alternate files are handled slightly differently,  owing  to
  430.      the  presence  of  buffer and window handling.  Essentially,
  431.      when you close a buffer, its filename is remembered  as  the
  432.      alternate  file;  when  you  invoke the ^^ or :e # commands,
  433.      this file is re-edited.  Note that ^^  edits  the  alternate
  434.      file in a new buffer window, if autosplit allows.
  435.  
  436.      Hitting the escape key while in the command  line  does  not
  437.      terminate  input;  instead,  it cancels input, returning the
  438.      prompt to the beginning of the line.  This applies to  input
  439.      for :, /, ? and !.
  440.  
  441. FILES
  442.      /usr/lib/xvi.helpDefault help file.
  443.  
  444. SEE ALSO
  445.      ex(1), vi(1), termcap(5).
  446.      _S_u_m_m_a_r_y _o_f _D_i_f_f_e_r_e_n_c_e_s _b_e_t_w_e_e_n _V_i _a_n_d _X_v_i.
  447.  
  448. BUGS
  449.      o+    When the cursor is on the last word of  a  buffer,  the
  450.       command  dw  leaves  the  last  character  of  the word
  451.       undeleted.
  452.  
  453.      o+    Some screen updates do  not  get  shown  properly  when
  454.       buffers  are  split, and certain commands (e.g.  x) are
  455.       executed.
  456.  
  457.  
  458.  
  459. Unix                 Last change: 19/6/1992                     7
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466. XVI(1)                   USER COMMANDS                     XVI(1)
  467.  
  468.  
  469.  
  470.      o+    If you do something like cf.WORD<_e_s_c> and then redo it,
  471.       and  the  f.  fails,  then  the WORD<_e_s_c> gets taken as
  472.       normal input.  The rest of the input should  really  be
  473.       cancelled when part of a redo fails.
  474.  
  475.      o+    A command of the form :/pat/;+1m. will not work because
  476.       the  editor  incorrectly  detects  a  conflict  between
  477.       source and destination.
  478.  
  479.      o+    The editor in its present form is very  inefficient  in
  480.       terms of CPU cycles.
  481.  
  482.      o+    Most termcap(5) terminal descriptions are  only  tested
  483.       with  vi(1)  (and possibly rogue(6)).  Since xvi is, in
  484.       some ways, more demanding than vi in its use of termcap
  485.       capabilities, it sometimes exposes bugs or inadequacies
  486.       in  termcap  entries.   This  applies   especially   to
  487.       scrolling regions.
  488.  
  489. AVAILABILITY
  490.      Xvi has been ported to MS-DOS, OS/2, QNX and many  different
  491.      versions  of  Unix.   Source  code  is  available  from  the
  492.      authors.
  493.  
  494. AUTHORS
  495.      Chris and John Downey.
  496.  
  497.      Derived from  STEVIE,  written  by  Tim  Thompson  and  Tony
  498.      Andrews.
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525. Unix                 Last change: 19/6/1992                     8
  526.  
  527.  
  528.  
  529.